home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / maximus / sqaem121.zip / SQAEM.DOC < prev    next >
Text File  |  1992-07-06  |  24KB  |  561 lines

  1. Squish Automatic Echo Manager                 (C) 1992 Copyright Merlin Systems
  2. SQAEM                                                       All rights reserved
  3.  
  4.  
  5. Version 1.21                                                       July 7, 1992
  6.  
  7. ▄▄▄▄▄▄▄▄▄▄▄▄▄──────────────────────────────────────────────────────────────────
  8. INTRODUCTION:
  9.  
  10. SQAEM (pronounced "scream" without the R) is a utility used with Squish Echo
  11. Processor.  It allows the nodes you distribute echoes to to make changes in the
  12. echoes that they receive.  It allows them to add or delete echoes all
  13. automatically without your manual intervention.
  14.  
  15. SQAEM uses the Squish configuration file to store all of its data, so you will
  16. not need another configuration file.  It also expects to find information on
  17. echoes inside this file and no where else.  Thus you can not run SQAEM with
  18. Squish if you are using an AREAS.BBS file.  SQAEM eliminates the need for a
  19. separate AREAS.BBS file.
  20.  
  21. SQAEM  will look for any message in the netmail area that is addressed to your
  22. node or aka's, and has a name of AREAFIX or SQAEM (this can be changed, keep
  23. reading).  SQAEM expects to see the node's password in the subject line and a
  24. list of echoes to add and/or delete in the body of the text.  There can also be
  25. commands after the subject that request different reports.  This follows the
  26. AREAFIX standard started by George Peace and his original version of AREAFIX.
  27. Commands can also be placed inside the text on their own line.  This ensures
  28. compatibility with Tosscan's AreaMgr.
  29.  
  30.  
  31. Subject Text
  32. command command   Description
  33. ------- -------   --------------------------------------------------
  34. -L      %LIST     The list command will generate a separate message to be with
  35.                   a list of areas available and their multi-line description.
  36.  
  37. -Q      %QUERY    The query command will cause a list of areas with a one-line
  38.                   description to be appended to the returning message.  An
  39.                   astericks will be placed in front of the area name if that
  40.                   area is linked with that node.
  41.  
  42. -R      %RESCAN   The rescan command will cause Sqaem to spawn Squish to rescan
  43.                   the specified areas for that node. There is no area additions
  44.                   when using the rescan command.
  45.  
  46. -H      %HELP     Sends a copy of a help file.
  47.  
  48. -U      %UNLINKED Sends a unlinked area list formated exactly like the LIST
  49.                   command.
  50.  
  51. -LI     %LINKED   Sends a linked area list formated exactly like the LIST
  52.                   command.
  53.  
  54. -F      %REQ      Sends a list of forwarded requests formated exactly like
  55.                   the LIST command.
  56.  
  57.         %CHANGE   Allows a system to change either their password and/or their
  58.                   language.
  59.  
  60.                  The syntax is:
  61.  
  62.                 %CHANGE PASSWORD <new_password>
  63.                  <new_password> is an unbroken word.
  64.  
  65.                 %CHANGE LANGUAGE <new_language>
  66.                  <new_language> is the three letter abbreviation found in the
  67.                  ;SqaemLang keyword.
  68.  
  69.                 You can shorten the PASSWORD and LANGUAGE to four characters.
  70.  
  71. ▄▄▄▄▄▄▄────────────────────────────────────────────────────────────────────────
  72. SYNTAX:
  73.  
  74. SQAEM [options] <Squish CFG file>
  75.  
  76. Options:
  77.  
  78.       -a<zone:net/node.point>
  79.              AKA node number(s)        <optional>
  80.  
  81.       -c<fname>
  82.              Extra Squish/Sqaem configuration file  <optional>
  83.  
  84.       -f     Temporary disallows area forwarding.  If you wish to
  85.              always disable area forwarding, then do not include
  86.              the ;FwrdQue keyword in the squish.cfg file.
  87.  
  88.       @ADD <area> <node>
  89.              Links the node to the specified area without validation.
  90.  
  91.       @DROP <area> <node>
  92.              Unlinks the node from the specified area.
  93.  
  94.       @LIST <filename> <groups>
  95.              Creates a text file containing a list of areas and their
  96.              descriptions.
  97.  
  98.       -?     This help page
  99.  
  100.  
  101. ▄▄▄▄▄▄▄▄▄──────────────────────────────────────────────────────────────────────
  102. KEYWORDS:
  103.  
  104. The following are the keywords that SQAEM looks for in the Squish configuration
  105. file and their meaning:
  106.  
  107.         NetArea         <location> [-$]
  108.                         The directory where NetMail is kept (*)
  109.                         If you include the -$ option, Sqaem will read in the
  110.                         netmail area as a Squish-style message base.  You can
  111.                         have multiple netArea keywords.
  112.  
  113.         Address         <node> [node [node..]]
  114.                         Your node address (4D) and akas (*)
  115.  
  116.         LogFile         <filename>
  117.                         The location and name of the Squish Log file (*)
  118.  
  119.         Origin          <string>
  120.                         The origin line without the fidonet address (*)
  121.  
  122.         ;Rescan         <string>
  123.                         The location and name of squish followed by the word
  124.                         RESCAN, followed by the name of a temporary file.
  125.                            eg.  c:\squish\squish RESCAN c:\squish\echotoss.log
  126.                         This will enable the rescan feature.
  127.  
  128.         ;FwrdQue        <filename>
  129.                         The location and name of the area forward queue list.
  130.  
  131.         ;Sysop          <Name>
  132.                         The name of the sysop.  Used when area forwarding
  133.                         a request to an uplink.  If no ;Sysop keyword is
  134.                         present, "Sysop of <zone>:<net>/<node>.<point>" is
  135.                         used.
  136.  
  137.         ;SqaemHelp      <filename>
  138.                         The location and name of the Sqaem help file to be
  139.                         sent out to requesting nodes.
  140.  
  141.         ;SqaemLang      <filename> [Language Abbreviation]
  142.                         The location and name of the Sqaem language file.
  143.                         This file is ASCII file containing the prompts for the
  144.                         returning message. A semi-colon (;) is used to specify
  145.                         a comment.  Each line contains one prompt. Please list
  146.                         the sample SQEAM.ENG english file.  This keyword is
  147.                         optional, if not present the default hard-coded English
  148.                         prompts are used.  If there is no Language
  149.                         Abbreviation, then it is used as a default.  The
  150.                         language abbreviation must be less than four letters.
  151.  
  152.         ;SqaemFooter    <filename> | @ORIGIN
  153.                         The location and name of a ASCII text file that you
  154.                         wish to be placed at the bottom of every areafix
  155.                         return message sent out from your system.
  156.                         If the you place @ORIGIN after this keyword, then
  157.                         an origin line will be added.
  158.  
  159.         ;SqaemName      <name>
  160.                         Look for <name> instead of AREAFIX and along with
  161.                         SQAEM.  You can have multiple ;SqaemName keywords.
  162.  
  163.         ;LDescMax       <MaxChars>
  164.                         Maximum number of characters to allocate for the
  165.                         area's long description. Default is 4096.
  166.  
  167.         ;SqaemLog       <filename>
  168.                         An optional file that will be used instead of the
  169.                         Squish Logfile.
  170.  
  171.         ;NoZone         Don't compare Zone values.
  172.  
  173.         ;ListNoAkas     Do not list any aka's in returning messages.
  174.  
  175.         ;HideAreas      Hides non-available echoes from area lists.
  176.  
  177.         ;SortNodes      Sorts nodes when rewriting a changed EchoArea entry.
  178.  
  179.         ;SortAreas      Sorts areas alphabetically.
  180.  
  181.         ;WordGroups     Represent groups as words instead of characters.
  182.                         Groups will be words of 4 or less characters and be
  183.                         separated by spaces.
  184.  
  185.         ;AreaMax        <length>
  186.                         Sets the maximum length for area names.
  187.                         Defaults to 20.
  188.  
  189.  
  190.         EchoArea        <name> <location> [options] <node> [node..]
  191.                         The name, options, and nodes that subscribe to an
  192.                         echo (*)
  193.  
  194.         ;EchoSDesc      <string>
  195.                         A one line description of the echo.  This keyword is
  196.                         used for the Query command and should be more than 60
  197.                         characters.
  198.  
  199.         ;EchoLDesc      <string>
  200.                         Multi line (more than one ;EchoLDesc statement)
  201.                         description of the echo.  This keyword is used for the
  202.                         List command. Each line should not be more than 60
  203.                         characters.
  204.  
  205.         ;EchoGrp        <group>
  206.                         The group letter of the echo (A to Z or 0 to 9)
  207.                         There can also be a dash '-' to enable auto-unlinking
  208.                         for this area.
  209.                         If the WordGroups feature is enabled, groups are words
  210.                         instead of letters and are separated with spaces.
  211.  
  212.         ;EchoLevel      <level>
  213.                         The Level (0 to 65525) of the echo
  214.  
  215.         ;Node           <node>
  216.                         The node number (4D) of a node that subscribes to some
  217.                         of your echoes.
  218.                         If you place an astericks (*) here, this node entry
  219.                         will be a general entry and good for any node.
  220.  
  221.         ;NodeAka        <node> [group]
  222.                         The aka for this node.  You can have up to 6 aka's for
  223.                         each node.  This address is only used for comparison.
  224.                         The node's real address is still used when linking it
  225.                         to an area.  The optional group parameter is for
  226.                         indicating that this aka will be added to an area that
  227.                         has that group.
  228.  
  229.         ;NodeLang       <Language>
  230.                         This keyword is the three-letter abreviation as
  231.                         specified by the ;SqaemLang keyword.
  232.  
  233.         ;NodeGrps       <group>[group..] | <group> [group [group[...]]]
  234.                         The groups that this node has access to (A to Z or 0
  235.                         to 9).  There should be no spaces inbetween the
  236.                         letters.
  237.                         Two special groups can also be used:
  238.                           !   Disallow addition of areas
  239.                           *   Disallow of area forwarding
  240.                           @   Add node to area as read-only
  241.                           %   Disable remote changes to password and language
  242.                         If the WordGroups feature is enabled, groups are words
  243.                         instead of letters and are separated with spaces.
  244.  
  245.         ;NodeLevel      <level>
  246.                         The level of this node (0 to 65525)
  247.  
  248.         ;NodePass       <password>
  249.                         The case-insensitive password for this node
  250.  
  251.         ;NodeFlag       <flag> [flag [flag..]]
  252.                         The Fido attributes for this node.  This consists
  253.                         of any combination of the following words:
  254.                         Crash, Hold, Kill, Local, RRQ (Return Request),
  255.                         Direct, IMM (Immedeate)
  256.  
  257.         ;NodeFwrd       <filename> <password> [-n<node>] [-a<areafix name>]
  258.                         [-l<Linked/Added string>] [-v<new area level>]
  259.                         [-g<new area group>] [-d]
  260.                         The file contains a list of area names with their
  261.                         descriptions in the format <TAG> <Description>.
  262.                         The password is your areafix password for that node.
  263.                         The node is the node number to use as the originating
  264.                         node.  This defaults to your primary node number.
  265.                         The -l option is for comparison with the return
  266.                         message from this uplink about the area forwarded.
  267.                         The -d option enables auto-unlinking for this area.
  268.  
  269.         ;NodeFwrdOpt    <string>
  270.                         This keyword MUST come after the ;NodeFwrd keyword!
  271.                         Here you will have the new area location and options.
  272.                           eg.  c:\max\newarea -0 -p78:14/3
  273.                         If your new areas are going to be in *.MSG style, then
  274.                         a new directory will be created with a name of the area
  275.                         and a path of the NodeFwrdOpt.
  276.  
  277.                               ;NodeFwrd    fidonet.na password
  278.                               ;NodeFwrdOpt c:\max\newarea -0
  279.  
  280.                            -->EchoArea TUB c:\max\newarea\TUB -0 <z:n/n.p>
  281.  
  282.  
  283. Note: (*) Check with the Squish manual for more information about these
  284.           keywords.
  285.  
  286. Legend: <string>  Words inside of less-than and greater-than signs are
  287.                   variables that must be present.
  288.         [string]  Parameters inside square brackets are optional.
  289.         |         The vertical bar represents an OR situation.
  290.  
  291.  
  292. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄─────────────────────────────────────────────────────────────
  293. SQUISH.CFG ENTRIES:
  294.  
  295. A  node  record has to start with the ;Node keyword.  All  other  node  related
  296. keywords after it and before the next ;Node keyword are part of it.
  297.  
  298. An echo record has to start with the EchoArea keyword.  All other echo  related
  299. keywords after it and before the next EchoArea keyword are part of it.
  300.  
  301. All fields are optional, except for the ;Node and EchoArea fields.
  302.  
  303. The groups and levels are used for security purposes.  You can screen out  some
  304. of  your  echoes  by adjusting the security level or the  group.   Echoes  that
  305. a node does not have access to, will not appear in the query or list report.
  306.  
  307. Here is an example of an incomplete Squish configuration file:
  308.  
  309. ;Node 1:163/508
  310. ;NodeGrps BNA
  311. ;NodePass passWord
  312. ;NodeFlag Crash Local Kill
  313. ;NodeLevel 10
  314.  
  315. EchoArea  ASIA            L:\PCB\CONF88\    -s        278/607 163/520
  316. ;EchoSDesc News on China,Tibet,Indonesia,Cambodia(Source 1:278/607)
  317. ;EchoLDesc News on events in China, Tibet, Indonesia, Cambodia.
  318. ;EchoLDesc Moderator: William Bowles (1:278/607)
  319. ;EchoLDesc
  320. ;EchoGrp N
  321. ;EchoLevel 10
  322.  
  323. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄───────────────────────────────────────────────────────────────
  324. HOW SQAEM WORKS:
  325.  
  326. Sqaem will first read the information contained in your squish.cfg file and
  327. optionally sqaem.cfg file.  It dynamically stores all relevant information.
  328. This can take alot of memory space depending on how many echoes/nodes you have.
  329.  
  330. It then checks your netmail area for messages addressed to your node(s) and  to
  331. Areafix/Sqaem.  It thens checks the security of the requesting node,and if
  332. everything is allright, processes the request.  Requests are stored in memory
  333. until all requests have been processed.
  334.  
  335. Next, it checks for empty areas that have the auto-unlink feature enabled.  It
  336. then renames your old squish.cfg to squish.old and processes all of the stored
  337. requests to the squish.cfg file.
  338.  
  339.  
  340. How the Auto-Forwarding feature works:
  341.  
  342. If an area that is being requested does not exist on your system and is found
  343. in one of your uplinks' echolist, then an areafix request is sent out to that
  344. uplink.  Information is then stored in you FwrdQue file about the area, who
  345. requested it and who we requested it from.
  346.  
  347. When Sqaem looks at the netmail area, and finds a message to you from an
  348. areafix and sees that there is something queued up in the FwrdQue file, it will
  349. check to see if the area and node match any in the FwrdQue file.  It then
  350. checks to see if the area was added by your uplink. If so, the area is added
  351. and a message to the original requesting node is sent.
  352.  
  353.  
  354. ▄▄▄▄▄▄▄▄▄──────────────────────────────────────────────────────────────────────
  355. MAXIMUMS:
  356.  
  357. Words per line in Squish.cfg..................49
  358. AreaFix aliases (including AreaFix)...........10
  359. Characters per line in Squish.cfg............511
  360. Node records in Squish.cfg.............Unlimited (memory permitting)
  361. Area records in Squish.cfg.............Unlimited (memory permitting)
  362. Nodes per area record in Squish.cfg...........64
  363. Characters in Squish Log File location/name...59
  364. Characters in Netmail locataion...............59
  365. Characters in Rescan command line............126
  366. Characters in Rescan temporary filename.......59
  367. Number of a.k.a's (including primary node)....16
  368. Characters in Area short description..........69
  369. Characters in Area name.......................31
  370. Characters in Area long description....Unlimited (memory permitting)
  371. Groups in Node record.........................36
  372. Characters in Node's password.................31
  373. Characters in node number string..............31
  374. Characters in the language specific prompts...18-38
  375. Number of aka's for a node....................5
  376. Number of netmail areas.......................6
  377.  
  378. ▄▄▄▄▄▄▄▄▄▄▄▄───────────────────────────────────────────────────────────────────
  379. ERRORLEVELS:
  380.  
  381. 0..Everything went fine, but no changes were recorded
  382. 1..Sqaem aborted due to a memory problem
  383. 2..Everything went fine and there were changes to the squish.cfg file
  384. 3..Sqaem could not process the command-line commands (@ADD,@DROP,@LIST)
  385.  
  386.  
  387. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄─────────────────────────────────────────────────────────
  388. SQAEM.QUE FILE FORMAT:
  389.  
  390. struct sqaem_que_t
  391. {
  392.   char deleted,
  393.        name[48],                /* Area name */
  394.        desc[80];                /* Area short description */
  395.   struct fidonode uplink,       /* The uplink that you requested the are
  396.                                    from */
  397.                   mynode,       /* Your aka/node that requested the area from
  398.                                    your uplink */
  399.                   downlink;     /* The node that made the request */
  400.   char user[36];                /* The user who made the request */
  401.   struct fidonode callednode;   /* Your aka/node that was originally called */
  402.   char areafixname[16];         /* The original areafix name requested*/
  403.   char fluff[43];
  404. };
  405.  
  406.  
  407. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄───────────────────────────────────────────────────────────
  408. FUTURE ENHANCEMENTS:
  409.  
  410.  - Better documentation. (I never said I was a poet, just a programmer)
  411.  - AREAS.BBS support
  412.  - Hudson-style netmail support
  413.  - Sysop-defined commands
  414.  
  415. ▄▄▄▄▄▄▄▄▄▄─────────────────────────────────────────────────────────────────────
  416. SHAREWARE:
  417.  
  418. This piece of software is being distributed as ShareWare.  If you use it
  419. regularly or within a commercial environment, please register it with a $25.00
  420. (CAN$) 'donation', or the equivalent in another currency.
  421.  
  422. As with any ShareWare program, Merlin Systems and Roy Pereira do not take any
  423. responsibility for this program's behaviour.  Any bug reports should be sent to
  424. the author.
  425.  
  426. Squish, Fido, Tosscan AreaMgr and AreaFix are trademarks of their respective
  427. manufacturers.  SQAEM is copyrighten by Roy Pereira and Merlin Systems.
  428.  
  429.  
  430. ▄▄▄▄▄▄▄▄▄──────────────────────────────────────────────────────────────────────
  431. GATENET:
  432.  
  433. Watch out for Merlin System's new revolutionary new email gateway system.
  434.  
  435. 'GateNet' will support the following email systems:
  436.  
  437. PCBoard    ccMail          FidoNet (Msg)   FidoNet (Pkt)
  438. UUCP       NetWare MHS     Comterm         Fax
  439.  
  440. You will be able to seamlessly exchange email to and from any of the above
  441. systems.
  442.  
  443. Future modules include:
  444.  
  445. Microsoft Mail                  CE Software's QuickMail
  446. X.400                           3Com + Email
  447. QWK format                      Squish
  448. Hudson generic format
  449.  
  450.  
  451. ▄▄▄▄▄▄▄▄▄──────────────────────────────────────────────────────────────────────
  452. ADDRESES:
  453.  
  454. Author:         Roy Pereira
  455.  
  456. Postal:         Merlin Systems
  457.                 P.O. Box 3043, Station "C"
  458.                 Ottawa, Ontario, Canada
  459.                 K1Y 4J3
  460.  
  461. BBS & Fax:      613-722-7801 (v.32bis & G3)
  462.  
  463. Voice:          613-722-0829
  464.  
  465. InterNet:       Roy.Pereira@merlin-systems.on.ca
  466.  
  467. UUCP:           uunet.ca!mersys!Roy.Pereira
  468.  
  469. FidoNet:        Roy Pereira at 1:163/509
  470.                 [ FREQ SQAEM for the latest version of Sqaem ]
  471.  
  472. ▄▄▄▄▄▄▄▄───────────────────────────────────────────────────────────────────────
  473. SUPPORT:
  474.  
  475. Every good piece of software needs support by the author.  Support is provided
  476. as follows:
  477.  
  478.   -  FidoNet backbone conference, TUB (SquishMail support), addressed to
  479.      Roy Pereira
  480.  
  481.   -  At any of the addresses as stated in the "Addresses" section above.
  482.  
  483.   If you have a bug report, please include the MEMCHECK.LOG file that is
  484.   created when you set the environment variable MEMCHECK to yes.  You should
  485.   also include your squish.cfg.
  486.  
  487.   You may also send in your Sqaem language files in a language other
  488.   than English, so I can make it available.
  489.  
  490.  
  491. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄─────────────────────────────────────────────────────────────
  492. REGISTRATION FORM:
  493.  
  494.  
  495.                            Product:  Sqaem
  496.  
  497.  
  498.             Name  :____________________________________________
  499.  
  500.  
  501.  Mailing Address  :____________________________________________
  502.  
  503.                    ____________________________________________
  504.  
  505.                    ____________________________________________
  506.  
  507.  
  508.       FidoNet ID  :____________________________________________
  509.  
  510.      InterNet ID  :____________________________________________
  511.  
  512.          UUCP ID  :____________________________________________
  513.  
  514.         X.400 ID  :____________________________________________
  515.  
  516.            Other  :____________________________________________
  517.  
  518.  
  519.  
  520. What software do you use?
  521.  
  522.           Mailer :_____________________________________________
  523.  
  524.   Tosser/Scanner :_____________________________________________
  525.  
  526.              BBS :_____________________________________________
  527.  
  528.            Other :_____________________________________________
  529.  
  530.  
  531.  
  532. What Email software do you use at work/school ?
  533.  
  534. :______________________________________________________________
  535.  
  536. :______________________________________________________________
  537.  
  538.  
  539.  
  540. ┌──────────────────────────────────────────────────────────────────────────┐
  541. │ Description                                Quantity              Price   │
  542. ├──────────────────────────────────────────────────────────────────────────┤
  543. │                                                                          │
  544. │ Squish Automatic Echo Manager (Sqaem)      _________ @ 25.00  __________ │
  545. │                                                                          │
  546. ├──────────────────────────────────────────────────────────────────────────┤
  547. │                                                                          │
  548. │                                                 Net Total     __________ │
  549. │                                                                          │
  550. │ Canadian residents please add 7% GST. (GST No. 129636346)     __________ │
  551. │                                                                          │
  552. │ Ontario residents please add 8% PST                           __________ │
  553. │                                                                          │
  554. │                                                     Total     __________ │
  555. │                                                                          │
  556. └──────────────────────────────────────────────────────────────────────────┘
  557.  
  558.  
  559. Important:  Please make checks payable to "Merlin Systems"
  560.  
  561.